package ar.com.tpandu.model;

import java.sql.Date;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;

public class Anuncio {

	private Integer id;
	private String nombre;
	private String descripcionCorta;
	private String descripcionLarga;
	private Integer cantVisitas;
	private List<Visita> visitas;
	private List<Categoria> objetivos;

	public Anuncio() {
		super();
	}
	
	public Anuncio(Integer id, String nombre, String descripcionCorta,
			String descripcionLarga) {
		super();
		this.id = id;
		this.nombre = nombre;
		this.descripcionCorta = descripcionCorta;
		this.descripcionLarga = descripcionLarga;
		this.visitas = new ArrayList<Visita>();
		this.objetivos = new ArrayList<Categoria>();
		calcularCantVisitas();
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcionCorta() {
		return descripcionCorta;
	}

	public void setDescripcionCorta(String descripcionCorta) {
		this.descripcionCorta = descripcionCorta;
	}

	public String getDescripcionLarga() {
		return descripcionLarga;
	}

	public void setDescripcionLarga(String descripcionLarga) {
		this.descripcionLarga = descripcionLarga;
	}

	public Integer getCantVisitas() {
		return cantVisitas;
	}

	public void calcularCantVisitas() {
		this.cantVisitas = visitas.size();
	}
	
	public List<Visita> listaVisitas() {
		return visitas;
	}
	
	public void agregarVisita(Date fecha, Time hora, Suscriptor suscriptor) {
		Visita visita = new Visita(this, fecha, hora, suscriptor);
		
		visitas.add(visita);
		
		calcularCantVisitas();
				
	}
	
	public List<Categoria> listaObjetivos() {
		return objetivos;
	}
	
	public void agregarObjetivo(Categoria objetivo) {		
		
		objetivos.add(objetivo);
						
	}

	public void setVisitas(List<Visita> visitas) {
		this.visitas = visitas;
	}

	public void setObjetivos(List<Categoria> objetivos) {
		this.objetivos = objetivos;
	}
	
	
}
